Depending on the setting of the first character of the confstr= mmdftailor channel parameter, the blockaddr channel operates in either ``reject'' (confstr=``r...'') or ``warn'' (confstr=``w...'') mode. In the ``reject'' mode, all mail is returned to the original sender with the reason ``Hostname no longer valid'' or ``Username no longer valid''. A separate message is sent to the original sender explaining that the addresses used have been changed to something new. In the ``warn'' mode, all mail is resubmitted for normal delivery. In the case of usernames on the local machine, mail is resubmitted to the ~username address to avoid alias loops. A separate message is sent to the sender of the original message explaining that the addresses used are about to expire but that the mail was delivered anyway.
When an explanatory message is sent to the original sender, either in ``warn'' or ``reject'' mode, the initial text of the message is taken from a file specified by the rest (i.e. beginning at the second character) of the channel's confstr= mmdftailor channel parameter. If this file is missing or its name is omitted, blockaddr inserts its own initial text. Appended to this initial text is the list of addresses processed by the blockaddr channel and an explanation from the RHS of the channel's table about why the address is no longer valid. If the channel table does not contain an entry for the address (see the example below), then blockaddr uses a ``canned'' message instead.
Note that you must include a host= locname.locdomain parameter in the MCHN entry.
MCHN blockhost, show=``Block Host Channel'', que=blockhost, tbl=blockhost, pgm=blockaddr, mod=reg, mod=send, host=dev.cs.net, confstr=``w/mmdf/table/warnhosts'', ap=822 MCHN blockuser, show=``Block User Channel'', que=blockuser, tbl=blockuser, pgm=blockaddr, mod=reg, mod=send, host=dev.cs.net, confstr=``r/mmdf/table/rejectuser'', ap=822
Put the following lines in your Top-Level domain table:
blockuser:blockuser blockhost:blockhost acme-cs: cs.acme.com,blockhost beta-vax: beta.com,blockhost
Put the following lines in your alias table:
ted: ted@blockuser alice: alice@blockuser
Put the following lines in your blockhost channel table:
blockhost:blockhost cs.acme.com:``Address all mail to Acme Co. as user@host.acme.com'' beta.com: ``All users at Beta Co. are now user@beta.com''
Put the following lines in your blockuser channel table:
blockuser:blockuser ted: ``Ted disappeared--if you see him, contact the FBI'' alice: ``Alice's new address is (groan) alice@competitor.com''
In this example, mail to ``fred@acme-cs'' would be routed through the blockhost channel which would send it along to ``fred@cs.acme.com'' and would send a message to the sender saying that the address used was about to expire and to ``Address all mail to Acme Co. as user@host.acme.com''. Mail to the local user ``alice'' would be returned to the sender and blockaddr would send an explanatory message saying that ``Alice's new address is (groan) alice@competitor.com''.